One- and two dimensional bar codes are commonplace today in marking, tracking, and authenticating objects, such as consumer products, food goods, beverage packs, cans and bottles, cigarette packages and other tobacco products, documents, certificates, money bills and the like. Bar codes appear in various fashions, of which two examples are shown in FIGS. 1A and 1B: The common one-dimensional bar code of FIG. 1A usually comprises an arrangement of elements as, for example, black and while lines 1′, 2′. Information is encoded by concatenating pre-defined groups of black and white lines 1′, 2′ of varying thickness and distance. These groups are usually associated to a specific character or meaning by some kind of industry standard.
FIG. 1B shows a common two-dimensional bar code that encodes information by means of arranging, in general terms, first type elements 1″ and second type elements 2″, such as rectangles, dots, triangles and the like, along two dimensions in some sort of ordered grid. The example of FIG. 1B follows an implementation according to the GS1 (Trademark) DataMatrix ECC 200 standard (GS1 being an international association providing standards for two-dimensional barcodes). This standard, for example, employs a so-called “L finder pattern” 4 (also called L-shape solid line, L-line, solid line, etc.) and a so-called “clock track” 3 (also called clock line, L-shape clock line etc.) surrounding the data 5 that carries the actual payload data of the bar code.
In both cases of one-dimensional and two-dimensional bar codes, at least two distinguishable types of elements are used. For example, a white-printed square as a first type element may represent the information 0, whereas a black-printed square as a second type element represents the information 1. In any way, however, implementations by means of black and white lines or dots (elements) represent just one way of example.
Specifically, the bar codes can be well implemented also by using color and/or fluorescent dyes or inks, thermo printing on heat-sensitive paper, mechanical means, such as milling, embossing, grinding, or physical/chemical means, such as laser etching, acid etching, etc. Any type of implementation is possible as long as the elements can be distinguished into their respective type in, for example, image data that has been obtained from the two-dimensional bar code being normally attached to some kind of object (good). For example, a digital camera can obtain digital image data of the bar code that is printed on a paper document or laser-etched on a metal can.
Once the barcode is attached to an object, the encoded information can then be later retrieved by means of barcode reading devices. Such devices usually first obtain said image data that was acquired using, for example, the already mentioned digital camera. Other acquisition support may be provided by means of illumination devices, such as LEDs, lasers and other light sources. The barcode reading devices may then employ processing resources, e.g. in the form of a microprocessor (CPU) and an associated memory, for processing the obtained image data. Usually, such processing involves isolating (identifying) the barcode in the image data and decoding the payload data. The decoded data can then be further processed, displayed, or transmitted to other entities.
Such image processing usually involves the separation of the barcode image section from the background surface, which, in turn may comprise similar features as they are part of the product label or package design. For example, a conventional technique considers a simultaneous imaging a barcode from three different illumination directions using multiple illumination colors. There, three monochrome images are simultaneously acquired and a processor determines which of the images provides the most optimum contrast and thus is assumed to be the best decodable image. Moreover, the conventional arts also consider the calculation of a linear combination of images for the specific case that fluorophores are employed.
Besides reliability, i.e. the figure that characterizes the fraction of successfully and/or correctly decoded barcodes from a given number of input images, also other considerations may play a considerable role. Amongst others, also process efficiency and speed may determine whether or not a way of image processing is suitable for barcode identification and/or decoding.
Therefore, there is a need for improved concepts of barcode identification and/or decoding in image data. These concepts need to provide satisfactory output reliability whilst meeting strict requirements of processing speed, i.e. the time required between obtaining and image and providing a processing result.